// 用户信息的状态管理文件 —— pinia

import { defineStore } from 'pinia' // 导入 pinia 中的功能模块

// 创建容器
// 参数一：容器名
// 参数二：容器的内容
const useUserStore = defineStore('user', {
  // pinia 状态管理的数据，通过箭头函数返回一个对象
  // 相当于 vue 中的 data 数据
  state: () => {
    return {
      user: JSON.parse(window.localStorage.getItem('USER_TOKEN')) // 用户的 token
    }
  },

  // 相当于 vue 中的 computed 计算属性
  getters: {
  },

  // 相当于 vue 中的 methods 方法
  actions: {
    // 1、修改用户信息的方法
    setUser (payload) {
      // 更改 user 数据
      this.user = payload
      // 存储到本地
      window.localStorage.setItem('USER_TOKEN', JSON.stringify(payload))
    }
  }
})

export default useUserStore // 导出容器
